package com.kk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kk.pojo.entity.SysMenu;
import com.kk.pojo.vo.MenuTreeVO;
import java.math.BigInteger;
import java.util.List;
import java.util.Set;


public interface SysMenuService  extends IService<SysMenu> {

    /**
     * 根据角色id查询列表菜单
     * @param roleIds 角色id列表
     * @return
     */
    List<SysMenu> getMenusByRoleIds(List<BigInteger> roleIds);


    /**
     * 根据用户id查询菜单树
     * @param userId
     * @return
     */
    List<MenuTreeVO> getMenuTreeByUserId(BigInteger userId);

    /**
     * 构建菜单树
     * @param menus
     * @return
     */
    List<MenuTreeVO> buildMenuTree(List<SysMenu> menus);

    /**
     * 根据用户ID查询权限标识
     */
    Set<String> getPermissionsByUserId(BigInteger userId);

    List<MenuTreeVO> getMenusByUserIdService();

    List<MenuTreeVO> getAllMenus();

}
